package com.whu.exp1jsp.controller;

import com.whu.exp1jsp.dao.CartDAO;
import com.whu.exp1jsp.dao.PurchaseDAO;
import com.whu.exp1jsp.pojo.ProductSt;
import com.whu.exp1jsp.pojo.UserSt;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

@WebServlet(name = "cartServlet", value = "/cart-servlet")
public class CartServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setAttribute("mode", 2);

        HttpSession session = request.getSession();
        UserSt user = session.getAttribute("user") == null ? null : (UserSt) session.getAttribute("user");

        if (user == null){
            request.setAttribute("error", "请先登录");
            request.getRequestDispatcher("login.jsp").forward(request, response);
            return;
        }

        CartDAO cartDAO = new CartDAO();
        PurchaseDAO purchaseDAO = new PurchaseDAO();

        List<ProductSt> purchasedProducts = null;

        List<ProductSt> cartProducts = null;

        try {
            cartProducts = cartDAO.getCartProducts(user.getUserId());
            purchasedProducts = purchaseDAO.getPurchaseProducts(user.getUserId());
        } catch (SQLException e) {
            request.setAttribute("errorMessage", "获取购物车失败");
            request.getRequestDispatcher("index.jsp").forward(request, response);
            return;
        }
        session.setAttribute("cartProducts", cartProducts);
        session.setAttribute("purchasedProducts", purchasedProducts);
        request.getRequestDispatcher("index.jsp").forward(request, response);
    }
}
